#ifndef _HIREDIS_
#define _HIREDIS
#include <hiredis/hiredis.h>
#include <string>
#include <list>
// #define IP "192.168.174.176"
// #define port 6379
// #define password "Root1234!"
class MyRedis{
public:
    redisContext * redis_client;    //当前的redis实例
    MyRedis();
    ~MyRedis();
    //
    bool setExNx(const char* key,const char*value,int expireTime);
    //选择 index
    bool select(int index);
    bool connect_redis(const char * ip,int port );  //连接数据库
    bool AUTH(const char * auth);
    //删除key
    bool del_key(const char * key); //删除key
    // string类型
    bool set(const char *key ,const char * value);//设置key
    std::string  get(const char * key);   //得到key
    int incrby(const char * key ,int num);  //可以增减
    //不定参数的mset与mget
    bool mset(const char * key ,const char * value,...);  //设置多个key
    std::list<std::string> mget(const char * key ,...);  //得到多个key的value

    //list类型

    //set类型----返回-1表示错误
    int sadd(const char *key,const char*value);
    int srem(const char *key,const char *value);
    int sismember(const char *key,const char *value); 

    //hash类型---返回-1表示错误
    int hset(const char *key,const char*field,const char *value);   //返回1表示成功设置一个  
    int hget(const char *key,const char*field);
    int hincrby(const char *key,const char *field,int num);
    int hdel(const char *key,const char*field);

    

};
#endif